The present invention claims priority from Japanese Patent Application No. 9-160477 filed Jun. 3, 1997, which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to a magnetic disk processor and, particularly, to a magnetic disk processor having a function of detecting a sequential I/O stream from a host computer.
2. Description of Related Art
In a case where a host computer accesses successive recording spaces sequentially, an input/output (I/O) stream which uses, as a start address, an address obtained by adding 1 to the last address assigned by previous input/output (I/O) operation is issued. A group of I/O streams is called sequential I/O streams.
In a conventional magnetic disk processing device, when a sequential read in which read commands are issued sequentially is detected, an over-head due to a positioning of a head of the magnetic disk processing device is shortened by prefetching a data which is larger than a range preliminarily instructed by a host computer from the magnetic disk device to a cache memory and, in response to subsequent read commands from the host computer, transferring the data from not the magnetic disk device but the cache memory.
In a write processing, an end report is performed to the host computer at a time when the data transferred from the host computer is stored in the cache memory (first write) and a write in the disk device which takes a long time is performed later (write back). In this case, when the sequential write in which write commands are issued sequentially is detected, the over-head due to the positioning of the head of the magnetic disk device is shortened by writing successive data stored in the cache memory in the magnetic disk device in the lump according to a plurality of write commands from the host computer.
Such conventional magnetic disk processing device is disclosed in Japanese Patent Application Laid-open Nos. Sho 64-12357, Sho 63-68957 and Sho 62-8251, etc.
Since, in the conventional techniques mentioned above, I/O streams issued by a plurality of independent applications operating on the host computer are mixed on the input/output (I/O) channel of the host computer, the I/O streams of the respective applications arrive at the magnetic disk device as random I/O streams even when the I/O streams are sequential I/O streams, so that the disk optimizing control such as prefetch and write back does not work effectively.
In a cluster system using a fiber channel transmission line which is recently standardized by ANSI (American National Standards Institute), a common use of data by a plurality of host computers is performed by sharing or commonly using a magnetic disk device by these host computers. In such system, however, sequential I/O command groups issued by the respective host computers are crossed each other and arrive at the magnetic disk device, so that the disk optimizing control does not work effectively.
Further, in a system handling a large amount of successive data such as a database, index data are stored in a secondary memory (i.e. storage device) to minimize unnecessary data access to thereby allow a high speed search processing. Therefore, a successive sequential data access becomes non-continuous data access as shown in FIG. 6. Such non-continuous I/O stream is calledxe2x80x9cnear sequential I/O streamxe2x80x9d. Non-continuous portions are recognized as separate sequential I/O streams and, therefore, a large number of I/O stream monitor tables for recognizing the sequential I/O stream are required and so it is necessary to provide a large memory capacity for control.
An object of the present invention is to provide a magnetic disk processing device capable of detecting sequential I/O streams and near sequential I/O streams which are mixed on an input/output (I/O) channel of a host computer and issued by a plurality of applications.
According to a first aspect of the present invention, a magnetic disk processing device comprises an I/O stream monitor table for storing an information of I/O stream and I/O stream monitor means for searching/updating the I/O stream monitor table every I/O stream from a host computer and determining whether or not the I/O stream is a sequential I/O stream on the basis of whether or not a start address of a certain I/O stream coincides with (last address of a certain past I/O stream stored on the I/O stream monitor table)+1.
According to a second aspect of the present invention, a magnetic disk processing device comprises an I/O stream monitor table for storing entry key, address of a start of a stream, I/O stream size, read/write (RIW) type and prefetch size or write back size and I/O stream monitor means for searching a RIW type and an entry through the entry key which coincide with an RIW type and the start address assigned by an I/O stream from the I/O stream monitor table every time when the I/O stream from a host computer, respectively, arrives at the I/O stream monitor means table, newly adding to the I/O stream monitor table an entry composed of (entry key)=(start address)+(size), (stream start address)=(start address), (I/O stream size)=(size) and (R/W type)=(RIW type), when there is no coincident entry found, and updating, when there is coincident entry found, an entry key of the entry to (start address of I/O stream)+(size) to make (I/O stream size)=(I/O stream size)+(size) and determining it as a sequential I/O stream.
In the first and second aspects of the present invention, the magnetic disk processor may be provided with prefetch activator means for calculating a start address of prefetch on the basis of the stream start address and the prefetch size when the I/O stream monitor means detects a sequential read by hitting an entry by an I/O stream of a certain read type and a difference between the prefetch size and the I/O stream size becomes smaller than a preset threshold value as a result of an operation of the I/O stream monitor table, newly activates the prefetch of the preset size and updating the prefetch size.
Alternatively, the magnetic disk processor may be provided with write back activator means for calculating a start address of write back on the basis of the stream start address and the write back size when the I/O stream monitor means detects a sequential write by hitting an entry by an I/O stream of a certain write type and a difference between the I/O stream size and the write back size becomes larger than a preset threshold value as a result of an operation of the I/O stream monitor table, newly activates the write back of the preset size and updating the write back size.
According to a third aspect of the present invention, a magnetic disk processing device comprises an I/O monitor table for storing an information of I/O stream and I/O stream monitor means for searching and updating the I/O monitor table every time when an I/O stream arrives from a host computer at the I/O stream monitor means and determining whether or not the I/O stream is a sequential I/O stream on the basis of whether or not a start address of a certain I/O stream is within a range from a last address of past I/O streams stored in the I/O stream monitor table to (last address of the past I/O streams)+xcex1.
According to a fourth aspect of the present invention, a magnetic disk processing device comprises an I/O stream monitor table for storing an entry key, stream start address, I/O stream size, R/W type and prefetch size or write back size and I/O stream monitor means for searching an entry having R/W type coincident with that assigned by an I/O stream and a start address of the I/O stream within a range from an entry key to xe2x80x9centry key+xcex1xe2x80x9d from the I/O stream monitor table every time when the I/O stream from a host computer arrives at the I/O stream monitor means, newly adding to the I/O stream monitor table an entry composed of
entry key=start address+size,
stream start address=start address,
I/O stream size=size, and
R/W type=R/W type
when there is no coincident entry found, and updating, when there is coincident entry found, an entry key of the entry to
I/O stream size=I/O stream size+size
and determining it as a sequential I/O stream or a near sequential I/O stream.
In the third or fourth aspect of the present invention, a prefetch activator may be provided for updating the prefetch size by newly activating a prefetch of a size preliminarily set by calculating a prefetch start address on the basis of a stream start address and the prefetch size, when the I/O stream monitor means detects a sequential read or a near sequential read by an entry hitting a certain I/O stream of read type and a difference between prefetch size and an I/O stream size becomes smaller than a preset threshold value as a result of an operation of the I/O stream monitor table.
Alternatively, a write back activator may be provided for updating the write back size by newly activating a write back of a size preliminarily set by calculating a write back start address on the basis of a stream start address and the write back size, when the I/O stream monitor means detects a sequential write or a near sequential write by an entry hitting a certain I/O stream of read type and a difference between write back size and an I/O stream size becomes larger than a preset threshold value as a result of an operation of the I/O stream monitor table.